package com.yvon.maple.service.auth.valicode.validate.code.properties;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;

/**
 * @Author : Yvon
 * @Description 图片验证码配置项
 * @Date 2019/5/20
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ImageCodeProps extends CodeProps {


	ImageCodeProps() {
		super.setLength(2);
	}

	private CaptchaType type = CaptchaType.ARITHMETIC;

	/**
	 * 图片宽
	 */
	private int width = 120;
	/**
	 * 图片高
	 */
	private int height = 40;

	/**
	 * 验证码文本类型
	 * 1：字母数字混合
	 * 2：纯数字
	 * 3：纯字母
	 * 4：纯大写字母
	 * 5：纯小写字母
	 * 6：数字大写字母
	 */
	private Integer charType = 1;


	@Getter
	@AllArgsConstructor
	public enum CaptchaType {
		/**
		 * 动图
		 */
		GIF("image/gif"),
		/**
		 * png
		 */
		SPEC("image/png"),
		/**
		 * 中文
		 */
		CHINESE("image/png"),
		/**
		 * 中文动图
		 */
		CHINESE_GIF("image/gif"),
		/**
		 * 算数
		 */
		ARITHMETIC("image/png"),
		;

		String contentType;

	}

}